The present invention relates to error correction, and more specifically, to the correction of structured burst errors in data.
The simplest error correction codes protect against random errors that are introduced into a data stream. The errors are modeled as random events with no statistical correlation to each other or any part of the overall system. Additional bits are added to the data to protect against errors. The effect of the additional error correction bits is to map the un-coded data into a coded domain. In the coded domain, valid code words are selected to represent the un-coded data, and all other invalid code words are assumed to result from transmission errors.
There is a growing trend toward the use of decision feedback equalization (DFE) in high speed interfaces for transmitting data. DFE uses the history of what was transmitted before to help in determining the value of a current bit. This powerful equalization works well to remove inter-symbol interference. However, DFE tends to transform single bit errors into multi-bit burst errors. For example, if noise causes a single bit to switch polarity, the feedback nature of DFE will recirculate the error and use the wrong information in the future decisions. The resulting error in general has structure, given by the design of the DFE itself; and although the error in general could propagate forward for an unbounded number of bits, in the vast majority of the cases one can establish a maximum burst length.